/****************************************************
          File Name:59-1.c
          Author: Abby Cin
          Mail: abbytsing@gmail.com
          Created Time: Sat 04 Oct 2014 03:46:23 PM CST
*****************************************************/
/*
 * 题目要求使用两个函数，一个init 另一个 loop 循环
 * 看了下提供的源码，发现只是一次读10个字节而已。。。
 * 所以果断将原来的read_line.c改成读10个字节。。。
 * /
 *
 *

#include<unistd.h>
#include<errno.h>
#include"read_line.h"  /* 包含一下函数声明 */

ssize_t readLine(int fd, void *buffer, size_t n)
{
    ssize_t numRead;
    size_t totRead;
    char *buf;
    char store[10];

    if(n<=0 || buffer ==NULL){
        errno=EINVAL;
        return -1;
    }

    buf=buffer;

    totRead=0;
    for(;;){
        numRead=read(fd,&ch,10);

        if(numRead==-1){
            if(errno==EINTR)
                continue;
            else
                return -1;
        }else if(numRead==0){
            if(totRead==0)
                return 0;
            else
                break;
        }else{
            if(totRead<n-1){
                totRead++;
                *buf++=ch;

            }

            if(ch=='\n')
                break;
        }
    }

    *buf='\0'
	return totRead;
}
